package com.snail.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.snail.model.pojo.mall.BizProduct;
import com.snail.result.Result;

import java.util.List;


public interface IBizProductService extends IService<BizProduct> {
    // 可以在此添加自定义服务方法
    boolean decreaseStock(Long productId);

    // 查询所有未删除商品（deleted=0）
    List<BizProduct> listUndeleteProducts();

    /** 新增商品 */
    Result<?> addProduct(BizProduct product);

    /** 修改商品 */
    Result<?> updateProduct(BizProduct product);

    /** 逻辑删除商品（根据ID） */
    Result<?> deleteProduct(Integer productId);

    BizProduct selectById(Integer productId);

    // 根据 productId 查商品及关联规格
    List<BizProduct> getProductWithSpecs(Integer productId);


    List<BizProduct> listBySellerUserId(Integer sellerUserId);
    Result<?> decreaseStock(Integer productId, Integer quantity);

    Result<?> increaseStock(Integer productId, Integer quantity);
}
